package com.sann.condition;

import org.springframework.context.annotation.ImportSelector;
import org.springframework.core.type.AnnotationMetadata;

/**
 * 测试注入第三方 Bean的4种方式之方式二：通过实现 Spring 的 ImportSelector，
 * 这种方式可以通过注解@Import里面的 value属性上注释可以看到有介绍.
 */
public class MyImportSelector implements ImportSelector {

    /**
     * importingClassMetadata 指的是MainConfig这个类的源信息，包括类上有几个注解，类名等等信息
     * @param importingClassMetadata
     * @return
     */
    @Override
    public String[] selectImports(AnnotationMetadata importingClassMetadata) {
        // 将要注册的 Bean 的全路径名返回，即可让Spring容器注册该全路径名代表的 Bean
        return new String[]{"com.sann.entity.Blue","com.sann.entity.Yellow"};
    }
}
